#include <vcl.h>
#include "Esfera.h"

#pragma package(smart_init)

Esfera::Esfera( float radio , int nMeridianos, int nParalelos ) {
    this->radio = radio;
    this->nMeridianos = nMeridianos;
    this->nParalelos = nParalelos;
}

Esfera::~Esfera(){
    gluDeleteQuadric(cuadrica);
}

void Esfera::dibujar() {
    //Coger matriz actual
    GLfloat mm[16];
    glGetFloatv(GL_MODELVIEW_MATRIX,mm);
    TAfin* m = new TAfin(mm);
    glColor3f(color.getR()/255, color.getG()/255, color.getB()/255);
    // Aplicar matriz de transformacion
    glPushMatrix();
      m->postMultiplicar(marco);
      glLoadMatrixf(m->mat);

      gluQuadricDrawStyle(cuadrica, GLU_FILL);
      gluSphere(cuadrica,radio,nMeridianos,nParalelos);
    glPopMatrix();

}
